// 引入 Sequelize 类
const { Sequelize } = require('sequelize');

// 引入统一配置模块
const config = require('./config');

// 确保配置对象包含dialect
const dbConfig = {
  ...config.db,
  dialect: 'mysql' // 明确指定dialect
};

// 使用统一配置创建 Sequelize 实例
const sequelize = new Sequelize(config.db.database, config.db.username, config.db.password, dbConfig);

// 测试数据库连接
async function testConnection() {
  try {
    await sequelize.authenticate();
    console.log(`数据库连接成功建立。 (环境: ${config.env})`);
  } catch (error) {
    console.error(`无法连接到数据库 (${config.db.host}:${config.db.port}):`, error);
  }
}

// 导出 Sequelize 实例和测试连接函数
module.exports = {
  sequelize,
  testConnection,
};